/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package cliente;

import constantes.Operadores;
import java.util.HashMap;
import java.util.Set;

/**
 *
 * @author Anderson
 */
public class ClientesLogados {
    private static ClientesLogados clientesLogados;
    private HashMap<String,Cliente> clientes;
    private ClientesLogados()
    {

    }
    public static ClientesLogados getClientesLogados()
    {
        if(clientesLogados == null)
            clientesLogados = new ClientesLogados();
        return clientesLogados;
    }
    public void logarCliente(Cliente cliente, String ip) throws Exception
    {
        if(getIP(cliente) == null)
        {
            clientes.put(ip, cliente);
        }
        else
        {
            throw new Exception("cliente já logado");
        }
    }
    private String getIP(Cliente cliente)
    {
        Set<String> lista = clientes.keySet();
        for(String item:lista)
        {
            if(clientes.get(item).match(cliente, Operadores.AND))
            {
                return item;
            }
        }
        return null;
    }
}
